Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the GitHub Actions automation for catalogbuilder by adding linting to the existing test workflow, introducing an automated semantic-release workflow for versioning/tagging, and wiring conda publishing to run after releases.
Changes:
- Add a pylint step to the existing pip-install + pytest CI workflow.
- Add a new “Semantic Release” workflow to version/tag (and push) on
main. - Change conda publishing to trigger off completion of the “Semantic Release” workflow.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
| .github/workflows/test-pip-install-run-pytest.yml | Adds pylint execution to CI runs. |
| .github/workflows/semantic-release.yml | New workflow to run python-semantic-release and push tags/commits. |
| .github/workflows/publish-conda.yml | Switches conda publish trigger to run after “Semantic Release”. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| jobs: | ||
| semantic-release: | ||
| runs-on: ubuntu-latest |
There was a problem hiding this comment.
This workflow pushes commits/tags back to the repo, but no explicit permissions are set. To avoid failures when the repo default token permissions are read-only, set workflow/job permissions (e.g., contents: write) appropriate for pushing tags/commits.
| runs-on: ubuntu-latest | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write |
| semantic-release version | ||
| semantic-release changelog |
There was a problem hiding this comment.
Repo search shows no tool.semantic_release configuration (and no __version__ variable); the only version source appears to be pyproject.toml’s [project].version. As written, semantic-release version is likely to fail or be unable to bump the package version—add a semantic-release config (e.g., pointing at pyproject.toml:project.version and defining the commit parser/changelog settings) so the workflow can run deterministically.
| semantic-release version | ||
| semantic-release changelog | ||
| semantic-release tag | ||
| git push --follow-tags |
There was a problem hiding this comment.
This job does a git push to main, which will trigger the same workflow again (since it runs on push to main). Add a guard to prevent redundant/self-triggered runs (e.g., skip when github.actor is github-actions[bot], or configure semantic-release to include [skip ci] in its release commit message).
| workflow_run: | ||
| workflows: ["Semantic Release"] | ||
| types: | ||
| - completed |
There was a problem hiding this comment.
workflow_run with types: [completed] will run this publish job even when the Semantic Release workflow fails or is cancelled. Add a success gate (e.g., job-level if: github.event.workflow_run.conclusion == 'success') so conda publishing only happens after a successful release run.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
No description provided.